Package-level declarations
Types
A concrete gesture recognizer subclass that looks for single or multiple mouse clicks.
A concrete gesture recognizer subclass that looks for mouse drag gestures.
Drives a per-frame action with monotonically decaying velocity until the velocity drops below a threshold. The platform supplies a FrameScheduler that fires a tick on each render frame (Choreographer / requestAnimationFrame / Swing Timer); each tick computes its own elapsed time so the animation stays correct even when the scheduler's interval drifts.
Per-platform vsync-aligned (or close-enough) frame scheduler. Implementations are expected to fire start's callback repeatedly until stop is called, with dtMs being the elapsed milliseconds since the previous tick (or since start for the first tick). The dtMs should be capped to a reasonable upper bound (e.g. 64 ms) so a missed frame can't teleport the camera.
Port of the Android recognizer with MotionEvent swapped for our TouchEvent. The state-machine / centroid / translation logic is unchanged.
Gesture recognizers translate user input event streams into higher level actions. A gesture recognizer is associated with an event target, which dispatches mouse and keyboard events to the gesture recognizer. When a gesture recognizer has received enough information from the event stream to interpret the action, it calls its callback functions. Callback functions may be specified at construction or added to the gestureCallbacks list after construction.
Gesture recognizer implementation that detects touch panning gestures.
A concrete gesture recognizer subclass that looks for touch panning gestures.
Gesture recognizer implementation that detects for two finger pinch gestures.
A concrete gesture recognizer subclass that looks for two finger pinch gestures.
Keeps a captured geographic anchor fixed under its original screen pixel while lookAt's range and/or heading change. Per-frame apply solves for lookAt.position via
Samples a drag's instantaneous velocity into a small ring buffer and, on release, computes the average velocity over the last windowMs of motion. Better than EMA for fling: users tend to decelerate slightly just before lifting, and the EMA smears that deceleration into the reported release velocity. Averaging over a short trailing window captures the actual flick speed.
A concrete gesture recognizer subclass that looks for two finger rotation gestures.
User-input callbacks dispatched by SelectDragDetector for taps, drags and context gestures on the globe.
iOS port of the JVM/Android SelectDragDetector. Mirrors the JVM pattern: pick is driven synchronously on DOWN (via WorldWindow.pick which drains the pick frame inline), so by the time we return to the dispatcher we already know whether a draggable renderable is under the finger. Subsequent MOVE events drive the drag directly when armed; otherwise they fall through to earth.worldwind.BasicWorldWindowController for camera panning.
A concrete gesture recognizer subclass that looks for single or multiple taps.
A concrete gesture recognizer subclass that looks for two finger tilt gestures.
iOS analog of Android's MotionEvent — normalized snapshot of one touch phase.
Represents a touch point.